Recently, in a video encoding technique, a video encoding device having functions, such as intra-picture prediction, inter-picture prediction, orthogonal transformation, quantization and variable length encoding, a representative of which is an MPEG (Moving Picture Experts Group), has been developed and put into practical application.
In the above-described functions, the variable length encoding varies a length of code to be assigned to video data and assigns a code of shorter length to data appearing most frequently, the amount of the video data having been reduced by the previous inter-picture prediction, the intra-picture prediction, the orthogonal transformation and the quantization, thereby improving the compression efficiency (see, e.g., Non-Patent Document 1).
In MPEG-4 part 10/H.264 (hereinafter referred to as “H. 264”) (see Non-Patent Document 1), which is one of the video encoding methods, two types of variable length encoding, i.e., CAVLC (Context Adaptive Variable Length Coding) and CABAC (Context Adaptive Binary Arithmetic Coding) can be selected.
CABAC is a variable length encoding method having a high compression efficiency, and is widely employed to applications which require a high compression rate. Meanwhile, CAVLC has a compression efficiency lower than that of CABAC, but a computational cost thereof is lower than that of CABAC when encoding or decoding is performed. For this reason, H.264 Baseline Profile which is centered on the application of mobile devices allows only CAVLC to be used (see Non-Patent Document 1).
The throughput of the variable length encoding increases in proportion to the bit rate. Accordingly, at high bit rate, it is difficult to apply CABAC which has a high computational cost compared to CAVLC. For this reason, CAVLC is increasingly applied to video encoding applications which require a high bit rate (e.g., 100 Mbps or higher).
Non-Patent Document 1: Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG: Text of ISO/IEC 14496-10 Advanced Video Coding 3rd Edition (2004)
However, when CAVLC is applied at high bit rate due to the computational cost or the like, the following problems may be caused.
A bit stream, which is video data generated by an H.264 encoding device, includes a variety of types of header information having encoding parameters and encoding mode information, motion vector information used in inter-picture prediction, and information (hereinafter referred to as “quantized transform coefficients”) obtained by performing transformation and quantization on the prediction error, which is differential between pixels of a target picture after inter- and intra-picture prediction have been performed. The variety of types of header information is constant regardless of the bit rate. The bit rate also rarely influences motion vector information, even though it does cause a slight difference.
Further, description is made on the quantized transform coefficients as bellow. In general, a bit rate is controlled by varying a quantization step. When the quantization step increases, values of quantized transform coefficients (levels) after quantization are decreased or the levels have many zeros. In the variable length encoding, levels, which have many zeros or are low, are assigned with codes so that compression efficiency increases. Accordingly, as the bit rate increases, the amount of code bits generated from the quantized transform coefficients increases, and thus, encoding efficiency decreases.
As described above, at a high bit rate, a problem arises in that the values of levels (quantized transform coefficients) increase and thus encoding efficiency decreases.